<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>js测试</title>
    <script>
        // var str = 'blue sky';
        // // console.log(str.indexOf('s'));

        // var obj = {
        //     name : 'hello',
        //     year : 20
        // };

        // //取出对象中的属性方法也有两种
        // //第一种
        // console.log(obj.name);
        // //第二种
        // console.log(obj["year"]);

        // var arr = ['1' , 1 , true , {name : 'test'}];
        // // arr[0]      //'1'
        // // arr[1]      //1
        // // arr[2]     // true
        // // arr[3]     // {name : 'test'}
        // console.log(arr.length);             //获得长度
        // //遍历数组
        // for (var i = 0 ; i < arr.length ; i++){
        //     console.log(arr[i]);
        // }
        // for(var item in arr){
        //     console.log(arr[item]);
        // }
        // for(var item of arr){
        //     console.log(item);
        // }

        // var arr1 = [1,2,3,4,5];
        // var arr2 = [2,4,6,8];

        // function test(item , index , arr){
        //     return (item%2) == 0
        // }

        // arr1.every(test);
        // console.log(arr1);
        // arr2.every(test);
        // console.log(arr2);
        // arr1.some(test);
        // console.log(arr1);
        // arr1.filter(test);
        // console.log(arr1);

        // function test (a, b ,c){
        // console.log(arguments[0])
        // console.log(arguments[1])
        // console.log(arguments[2])
        // }

        // test(1 ,2 ,3 , 4)                                 // 1
        //                                                             // 2
        //                                                             // 3

        // function arg(){
        //     for(var item of arguments){
        //         console.log(item)
        //     }
        // }
        // arg(1,2,3,4,5,6)


        // var num1 = 10
        // var obj = {
        //     name : 'bob',
        //     age : 20
        // }
        // function change(num1 , obj){
        //     num1 = 20,
        //     obj.name = 'lisa'
        // }


        // change(num1 , obj)
        // console.log(num1)
        // console.log(obj)


        /**
 * 每个单词首字母变为大写
 * @param {String} str
 */
        // function change(str) {
        // var a = str.split(" ");
        // var b = a.map(function(item){
        //     return `${item.charAt(0).toUpperCase()}${item.slice(1)}`
        // });
        // var c = b.join(" ");
        // console.log(c);
        // }

        // var str = "hello  world";
        // change(str);


        // const _consoleLog = (string, ...args) => {
        //       console.log(string, args);    
        // }
        // _consoleLog('a', 'b', 'c', 'd', 'e'); // 'a' [ 'b', 'c', 'd', 'e' ]



        // const age = 30
        // const nameStr = 'name'
        // const user = {       // 一个对象
        // [nameStr]: "John", // 键 "name"，值 "John"
        // age,             // 键 "age"，值 30 (相当于: age: age)
        // };

        // console.log(user['age']);



        // const user = {
        // name: "John",
        // sizes: {
        //     height: 182,
        //     width: 50
        // }
        // };

        // const clone = Object.assign({}, user);
        // clone.name = 'hgk';
        // console.log(user.name, clone.name);
        // console.log(user.sizes === clone.sizes); // true，同一个对象

        // // user 和 clone 共享 sizes 对象
        // clone.sizes.width++; // 在这里改变一个属性的值
        // console.log(user.sizes.width, clone.sizes.width); // 51

        // let user = { // **** 这里我们使用了 let ******
        // name: "John",
        // age: 30,
        // sayHi() {
        //     console.log(`我是：${this.name}`);
        // }
        // };
        // const boss = {
        // name: 'boss'
        // }
        // const admin = user; // 用户翻身当管理员
        // user = boss; // 我们居然让 boss 去当 user 了
        // admin.sayHi(); // 噢哟！不错呦，叫对了。




    </script>
</head>
<body>
    
</body>
</html>